package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.MbtiQuestion;

/**
 * MBTI题目Mapper接口
 * 
 * @author ruoyi
 * @date 2025-01-21
 */
public interface MbtiQuestionMapper 
{
    /**
     * 查询MBTI题目
     * 
     * @param questionId MBTI题目主键
     * @return MBTI题目
     */
    public MbtiQuestion selectMbtiQuestionByQuestionId(Long questionId);

    /**
     * 查询MBTI题目列表
     * 
     * @param mbtiQuestion MBTI题目
     * @return MBTI题目集合
     */
    public List<MbtiQuestion> selectMbtiQuestionList(MbtiQuestion mbtiQuestion);

    /**
     * 根据测试类型ID查询题目列表
     * 
     * @param testTypeId 测试类型ID
     * @return MBTI题目集合
     */
    public List<MbtiQuestion> selectQuestionsByTestTypeId(Long testTypeId);

    /**
     * 根据测试类型ID和维度查询题目列表
     * 
     * @param testTypeId 测试类型ID
     * @param dimension 维度
     * @return MBTI题目集合
     */
    public List<MbtiQuestion> selectQuestionsByTestTypeIdAndDimension(Long testTypeId, String dimension);

    /**
     * 新增MBTI题目
     * 
     * @param mbtiQuestion MBTI题目
     * @return 结果
     */
    public int insertMbtiQuestion(MbtiQuestion mbtiQuestion);

    /**
     * 修改MBTI题目
     * 
     * @param mbtiQuestion MBTI题目
     * @return 结果
     */
    public int updateMbtiQuestion(MbtiQuestion mbtiQuestion);

    /**
     * 删除MBTI题目
     * 
     * @param questionId MBTI题目主键
     * @return 结果
     */
    public int deleteMbtiQuestionByQuestionId(Long questionId);

    /**
     * 批量删除MBTI题目
     * 
     * @param questionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMbtiQuestionByQuestionIds(Long[] questionIds);

    /**
     * 根据测试类型ID删除题目
     * 
     * @param testTypeId 测试类型ID
     * @return 结果
     */
    public int deleteMbtiQuestionByTestTypeId(Long testTypeId);
}
